//@include lib_Class.js
//@include lib_sol.common.JsonUtils.js
//@include lib_sol.common.RepoUtils.js
//@include lib_sol.common.SordUtils.js
//@include lib_sol.common.CounterUtils.js
//@include lib_sol.common.Template.js
//@include lib_sol.common.WfUtils.js
//@include lib_sol.common.ix.RfUtils.js
//@include lib_sol.common.ix.FunctionBase.js
//@include lib_sol.contact.ix.functions.GenerateFilingStruct.js
//@include lib_sol.contact.Utils.js
var logger = sol.create("sol.Logger", { scope: "sol.contact.ix.functions.generators.GenerateContactFilingStruct" });
/**
* Generates an filing structure for a contact by template
*
* @author JHR, ELO Digital Office GmbH
* @version 1.0
*
* @eloix
*
* @requires sol.common.JsonUtils
* @requires sol.common.RepoUtils
* @requires sol.common.SordUtils
* @requires sol.common.CounterUtils
* @requires sol.common.Template
* @requires sol.common.WfUtils
* @requires sol.common.ix.RfUtils
* @requires sol.common.ix.FunctionBase
* @requires sol.contact.ix.functions.GenerateFilingStruct
* @requires sol.contact.Utils
*/
sol.define("sol.contact.ix.functions.generators.GenerateContactFilingStruct", {
extend: "sol.contact.ix.functions.GenerateFilingStruct",
/** @cfg {String} objId
* Object ID
*/
initialize: function (config) {
var me = this;
sol.ns("sol.contact");
sol.contact.Config = sol.create("sol.common.Config", { compose: "/contact/Configuration/contact.config" }).config;
sol.contact.Utils.loadConfig();
me.$super("sol.Base", "initialize", [config]);
},
/**
* @inheritdoc sol.contact.ix.functions.GenerateFilingStruct#getTemplateId
*/
getTemplateId: function () {
var me = this,
objId = me.objId,
sord = sol.contact.Utils.getParentCompany(objId);
if (sord) {
return me.getFilingStructTemplateId(sord, sol.contact.Config.company.contactFilingStructTemplateField, sol.contact.Config.generators.templateFolderIds.contactFilingStruct);
}
sord = sol.contact.Utils.getParentContactList(objId);
if (sord) {
return me.getFilingStructTemplateId(sord, sol.contact.Config.contactlist.contactFilingStructTemplateField, sol.contact.Config.generators.templateFolderIds.contactFilingStruct);
}
return null;
}
});
/**
* @member sol.contact.ix.functions.generators.GenerateContactFilingStruct
* @static
* @inheritdoc sol.common.ix.FunctionBase#onEnterNode
*/
function onEnterNode(clInfo, userId, wFDiagram, nodeId) {
logger.enter("onEnterNode_GenerateContactFilingStruct", { flowId: wFDiagram.id, nodeId: nodeId });
var params = sol.common.WfUtils.parseAndCheckParams(wFDiagram, nodeId),
module;
params.objId = wFDiagram.objId;
module = sol.create("sol.contact.ix.functions.generators.GenerateContactFilingStruct", params);
module.process();
logger.exit("onEnterNode_GenerateContactFilingStruct");
}
/**
* @member sol.contact.ix.functions.generators.GenerateContactFilingStruct
* @static
* @inheritdoc sol.common.ix.FunctionBase#onExitNode
*/
function onExitNode(clInfo, userId, wFDiagram, nodeId) {
logger.enter("onExitNode_GenerateContactFilingStruct", { flowId: wFDiagram.id, nodeId: nodeId });
var params = sol.common.WfUtils.parseAndCheckParams(wFDiagram, nodeId),
module;
params.objId = wFDiagram.objId;
module = sol.create("sol.contact.ix.functions.generators.GenerateContactFilingStruct", params);
module.process();
logger.exit("onExitNode_GenerateContactFilingStruct");
}
/**
* @member sol.contact.ix.functions.generators.GenerateContactFilingStruct
* @method RF_sol_contact_function_GenerateContactFilingStruct
* @static
* @inheritdoc sol.common.ix.FunctionBase#RF_FunctionName
*/
function RF_sol_contact_function_GenerateContactFilingStruct(iXSEContext, args) {
logger.enter("RF_sol_contact_function_GenerateContactFilingStruct", args);
var params, module, result;
params = sol.common.ix.RfUtils.parseAndCheckParams(iXSEContext, arguments.callee.name, args, "objId");
module = sol.create("sol.contact.ix.functions.generators.GenerateContactFilingStruct", params);
result = module.process();
logger.exit("RF_sol_contact_function_GenerateContactFilingStruct");
return result;
}